package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.SjAiChat;
import com.ruoyi.system.domain.vo.SjAiChatQuestionAndAnswerVO;
import com.ruoyi.system.domain.vo.SjAiChatTitleVO;
import org.apache.ibatis.annotations.Param;

/**
 * 智能问答Mapper接口
 * 
 * @author zrr
 * @date 2024-11-04
 */
public interface SjAiChatMapper 
{
    /**
     * 查询智能问答
     * 
     * @param id 智能问答主键
     * @return 智能问答
     */
    public SjAiChat selectSjAiChatById(Integer id);

    /**
     * 查询智能问答列表
     * 
     * @param sjAiChat 智能问答
     * @return 智能问答集合
     */
    public List<SjAiChat> selectSjAiChatList(SjAiChat sjAiChat);

    /**
     * 新增智能问答
     * 
     * @param sjAiChat 智能问答
     * @return 结果
     */
    public int insertSjAiChat(SjAiChat sjAiChat);

    /**
     * 修改智能问答
     * 
     * @param sjAiChat 智能问答
     * @return 结果
     */
    public int updateSjAiChat(SjAiChat sjAiChat);

    /**
     * 删除智能问答
     * 
     * @param id 智能问答主键
     * @return 结果
     */
    public int deleteSjAiChatById(Integer id);

    /**
     * 批量删除智能问答
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSjAiChatByIds(Integer[] ids);

    /**
     * 历史记录标题查询
     * @param userId
     * @return
     */
    List<SjAiChatTitleVO> selectSjAiChatTitleById(String userId);

    /**
     * 查询对应标题问答记录
     * @param userId
     * @param titleId
     * @return
     */
    List<SjAiChatQuestionAndAnswerVO> selectQuestionAndAnswer(@Param("userId") String userId,@Param("titleId") Long titleId);

    /**
     * 查询最大标题ID
     * @return
     */
    Long selectLastTitleId(String userId);
}
